Phone no: (021) 7989671 or email us: info@zahra-itsolution.com
Posted on 15 August 2024
Dalam artikel ini, kita akan membahas langkah-langkah untuk membuat sebuah bar chart sederhana di dashboard Laravel menggunakan Chart.js untuk menghitung data Mata Kuliah. Tutorial ini bertujuan untuk membantu Anda menampilkan statistik dari data Mata Kuliah yang tersimpan dalam database dengan cara yang visual dan mudah dipahami.
Pertama-tama, pastikan Anda sudah memiliki data Mata Kuliah yang tersimpan dalam database. Jika belum, Anda bisa mengikuti tutorial CRUD sebelumnya untuk membuat dan mengelola data Mata Kuliah.
Chart.js adalah library JavaScript yang populer dan mudah digunakan untuk membuat grafik di aplikasi web. Anda dapat menggunakannya dengan Laravel untuk menampilkan grafik seperti bar chart, pie chart, dan lain-lain.
Langkah pertama, Anda perlu menambahkan library Chart.js ke dalam proyek Laravel Anda. Jika Anda menggunakan npm atau yarn, jalankan perintah berikut di terminal:
npm install chart.js --save
Atau Anda bisa menambahkan Chart.js secara langsung melalui CDN dengan menambahkan skrip berikut ke dalam template Blade di bagian <head>
atau sebelum tag penutup </body>
:
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
Contoh:
Code tersebut berada di sebelum tag penutup </body>
3. Membuat Controller untuk Menyediakan Data
Selanjutnya, kita perlu membuat controller untuk menyediakan data yang akan ditampilkan dalam grafik. Misalnya, kita ingin menghitung jumlah Mata Kuliah berdasarkan kategori tertentu.
Tambahkan metode berikut ke dalam controller yang sesuai (misalnya DashboardController
):
public function chartData() { // Menghitung jumlah total Mata Kuliah $totalCourses = Matakuliah::count(); return response()->json([ 'totalCourses' => $totalCourses ]); }
Metode ini akan mengembalikan data dalam format JSON yang dapat digunakan oleh Chart.js.
Sekarang, buat file view baru di dalam folder resources/views/dashboard
bernama index.blade.php
dan tambahkan kode berikut:
@extends('layouts.app') @section('content') <div class="container"> <h1>Dashboard Mata Kuliah</h1> <canvas id="courseChart" width="400" height="200"></canvas> </div> <script> document.addEventListener('DOMContentLoaded', function () { // Ambil data dari controller via AJAX fetch('{{ route("chart.data") }}') .then(response => response.json()) .then(data => { var ctx = document.getElementById('courseChart').getContext('2d'); var courseChart = new Chart(ctx, { type: 'bar', data: { labels: ['Jumlah Mata Kuliah'], datasets: [{ label: 'Jumlah Total', data: [data.totalCourses], backgroundColor: 'rgba(54, 162, 235, 0.2)', borderColor: 'rgba(54, 162, 235, 1)', borderWidth: 1 }] }, options: { scales: { y: { beginAtZero: true } } } }); }); }); </script> @endsection
Pada kode di atas, kita menyiapkan elemen <canvas>
yang akan digunakan oleh Chart.js untuk menampilkan bar chart. Grafik ini akan otomatis diisi dengan data yang diambil melalui fetch dari route chart.data
.
Agar data dapat diambil oleh view, kita perlu menambahkan route yang mengarahkan ke metode chartData()
di controller. Tambahkan route berikut ke file routes/web.php
:
Route::get('/chart-data', [DashboardController::class, 'chartData'])->name('chart.data');
Sekarang, jalankan aplikasi Anda dan buka halaman dashboard http://127.0.0.1:8000/dashboard
. Anda akan melihat bar chart yang menampilkan jumlah Mata Kuliah berdasarkan Jumlah.
Dengan tutorial ini, Anda telah berhasil membuat bar chart sederhana di dashboard Laravel untuk menampilkan statistik data Mata Kuliah menggunakan Chart.js. Anda dapat memperluas fungsionalitas ini dengan berbagai jenis grafik lainnya, serta menambahkan fitur interaktif lainnya sesuai kebutuhan aplikasi Anda. Teruslah eksplorasi berbagai fitur Chart.js dan Laravel untuk meningkatkan kualitas aplikasi Anda.
Semoga artikel ini bermanfaat bagi Anda!
Baca juga:
Tutorial: Membuat Tampilan (View) untuk CRUD di Laravel